.element {
    display: flex;
    align-items: center;

    .title {
        position: relative;
        .toggle {
            cursor: pointer;
            position: absolute;
            z-index: 2;
            top: 0;
            height: 100%;
            opacity: 0;
            box-sizing: border-box;
            transition: 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        &:hover,
        &.closed {
            .toggle {
                opacity: 1;
            }
        }
    }
    .list {
        display: flex;
        flex-direction: column;
        transition: 0.3s;
    }

    &.left {
        flex-direction: row-reverse;
        .title {
            .toggle {
                right: 100%;
            }
        }
        .list {
            align-items: flex-end;
        }
    }
    &.right {
        flex-direction: row;
        .title {
            .toggle {
                left: 100%;
            }
        }
        .list {
            align-items: flex-start;
        }
    }
}
